home *** CD-ROM | disk | FTP | other *** search
- /* $Id: i3Dshab.h 1.3 1995/09/11 01:10:10 YannPC Exp $ */
- /*****************************************************************************\
- * *
- * I3DShAB.h - *
- * I3DShAtmosphericShader definition *
- * I3DShBackgroundShader definition *
- * *
- * Copyright (c) 1995, Ray Dream, Inc. All rights reserved. *
- * *
- \*****************************************************************************/
-
- #ifndef __I3DSHAB__
- #define __I3DSHAB__
-
- #ifndef __3DCOTYPE__
- #include "3DCoType.h"
- #endif
-
-
- //****** Globally Unique Ids *************************************************
-
- DEFINE_GUID(IID_I3DShAtmosphericShader, 0xA0629720L, 0x3A0D, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
- DEFINE_GUID(IID_I3DShBackgroundShader, 0xA261C280L, 0x3A0D, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
-
- /*****************************************************************************\
- * I3DShAtmosphericShader *
- * *
- * Atmospheric Shader as seen from other extensions *
- * *
- \*****************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE I3DShAtmosphericShader
-
- DECLARE_INTERFACE_(I3DShAtmosphericShader, IUnknown) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DShAtmosphericShader methods
- STDMETHOD(SegmentFilter) (THIS_ VECTOR3D* beg, VECTOR3D* end, COLOR3D* filterOut) PURE;
- STDMETHOD(DirectionFilter) (THIS_ VECTOR3D* origin, VECTOR3D* direction, COLOR3D* filterOut) PURE;
- };
-
- /*****************************************************************************\
- * I3DShBackgroundShader *
- * *
- * Background Shader *
- * *
- \*****************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE I3DShBackgroundShader
-
- DECLARE_INTERFACE_(I3DShBackgroundShader, IUnknown) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DShBackgroundShader methods
- //-- Queries
- STDMETHOD_(BOOLEAN, IsBackdrop) (THIS) PURE;
- //-- Backdrop
- STDMETHOD(GetBackdropColor) (THIS_ VECTOR2D* screenPoint, BOX2D* screenMinMax, COLOR3D* resultColor) PURE;
- //-- Environment mapping
- STDMETHOD(GetEnvironmentColor) (THIS_ VECTOR3D* direction, COLOR3D* resultColor, BOOLEAN* result) PURE;
- };
-
-
- #endif
-